package com.xingshi.springbootinit.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.xingshi.springbootinit.common.ErrorCode;
import com.xingshi.springbootinit.exception.ThrowUtils;
import com.xingshi.springbootinit.model.entity.Score;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author Yujian Zhang
* @description 针对表【score(积分表)】的数据库操作Service
* @createDate 2024-03-01 16:34:03
*/
public interface ScoreService extends IService<Score> {

    /**
     * 用于签到时添加积分
     * @param userId
     */
    void checkIn(Long userId);

    /**
     * 查询积分
     * @param userId
     * @return
     */
    Long getUserScores(Long userId);

    /**
     * 消耗积分
     * @param userId
     * @param scores 消耗的积分数量，根据业务需求调整
     */
    void deductScores(Long userId, Long scores);

    /**
     * 返还积分
     * @param userId
     * @param scores 消耗的积分数量，根据业务需求调整
     */
    void returnScores(Long userId, Long scores);

    /**
     * 获取签到状态
     * @param userId
     * @return
     */
    int getIsSign(Long userId);
}
